Skip to content

Conversation

@david-waltermire
Copy link
Contributor

@david-waltermire david-waltermire commented Jan 8, 2026

Summary

  • Add .claude/CLAUDE.md with project-specific guidance for Claude Code
  • Add .claude/settings.json for Claude Code plugins configuration

The CLAUDE.md includes:

  • Build commands for Maven operations (install, test, format, etc.)
  • Architecture overview with key packages using correct dev.metaschema.oscal.* namespace
  • Documentation of OSCAL-specific Metapath functions (has-oscal-namespace, resolve-profile, resolve-reference)
  • Code style conventions
  • Git workflow and worktree requirements
  • Testing requirements

Test plan

  • Verify CLAUDE.md renders correctly on GitHub
  • Verify settings.json is valid JSON

Summary by CodeRabbit

  • Documentation

    • Added developer guidance covering build/test/format/quality checks, project overview, architecture, code style, Git workflow, worktree usage, and testing expectations.
  • Chores

    • Added configuration for development tooling and marketplace/plugin integrations to support editor/automation workflows.

✏️ Tip: You can customize this high-level summary in your review settings.

Add CLAUDE.md with project-specific guidance for Claude Code including:
- Build commands for Maven operations
- Architecture overview with key packages
- Documentation of OSCAL-specific Metapath functions
- Code style conventions
- Git workflow and worktree requirements
- Testing requirements

Also adds settings.json for Claude Code plugins configuration.
@coderabbitai
Copy link

coderabbitai bot commented Jan 8, 2026

📝 Walkthrough

Walkthrough

This PR adds Claude Code configuration and documentation files: CLAUDE.md detailing build commands, project overview, architecture, code style, Git worktree workflow, testing guidance, and dependencies; plus settings.json configuring plugin marketplaces and enabled plugins.

Changes

Cohort / File(s) Summary
Claude Configuration & Documentation
.claude/CLAUDE.md, .claude/settings.json
Adds CLAUDE.md with Maven build/test/format/quality commands, liboscal-java project overview, architecture and package notes, OSCAL Metapath details, Java 11 style and SpotBugs guidance, mandatory git worktrees workflow, JUnit5/CI testing expectations, and dependency notes. Adds .claude/settings.json with extraKnownMarketplaces (metaschema-framework, superpowers-marketplace) and enabled metaschema/superpowers plugins.

Sequence Diagram(s)

(omitted — changes are documentation and configuration only)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 With nimble paws I tidy the lair,

New docs and plugins now live there.
Claude can build, test, and play,
Git worktrees guide the way.
Hop, commit, and celebrate the care!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: add Claude Code configuration' accurately describes the main change: adding Claude Code configuration files (.claude/CLAUDE.md and .claude/settings.json).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f6bf13f and db777d6.

📒 Files selected for processing (1)
  • .claude/CLAUDE.md
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
📚 Learning: 2026-01-05T18:03:33.537Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).

Applied to files:

  • .claude/CLAUDE.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/*.java : All code changes must follow the Javadoc style guide (docs/javadoc-style-guide.md). New code requires 100% Javadoc coverage on public/protected members. Modified code must add/update Javadoc on any members touched. All Javadoc must include param, return, throws tags in the correct order (BLOCKING)

Applied to files:

  • .claude/CLAUDE.md
📚 Learning: 2025-12-30T19:08:21.896Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: src/site/markdown/index.md.vm:3-3
Timestamp: 2025-12-30T19:08:21.896Z
Learning: In the metaschema-framework/metaschema-java repository, https://framework.metaschema.dev/ is the project's preferred and canonical documentation URL for the Metaschema framework. While https://pages.nist.gov/metaschema/ is an alternative, the project uses framework.metaschema.dev as the official reference in documentation and should not be changed to pages.nist.gov URLs.

Applied to files:

  • .claude/CLAUDE.md
📚 Learning: 2026-01-05T16:33:59.206Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.206Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.

Applied to files:

  • .claude/CLAUDE.md
📚 Learning: 2025-12-13T15:29:03.112Z
Learnt from: david-waltermire
Repo: metaschema-framework/liboscal-java PR: 222
File: .github/workflows/build.yml:30-32
Timestamp: 2025-12-13T15:29:03.112Z
Learning: In the liboscal-java repository, nightly builds are managed independently using GitHub Actions schedule triggers (cron), not via repository_dispatch from metaschema-java. Each repo in the metaschema-framework manages its own nightly builds.

Applied to files:

  • .claude/CLAUDE.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Code
  • GitHub Check: Website
🔇 Additional comments (1)
.claude/CLAUDE.md (1)

1-137: Comprehensive and well-structured documentation—all architectural references verified as accurate.

The CLAUDE.md file is a strong addition to the repository. All key architectural references have been verified: OscalBindingContext, OscalFunctionLibrary, and the package structure (dev.metaschema.oscal.lib.*) all exist as documented. The Metapath functions (has-oscal-namespace, resolve-profile, resolve-reference) are properly referenced and implemented.

The file provides clear guidance on build commands, project architecture, code style, mandatory git worktree workflow, testing requirements, and dependencies. The previous bare URL formatting issue has been properly resolved with angle brackets.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @.claude/CLAUDE.md:
- Line 76: Replace the bare URL
"https://github.com/metaschema-framework/liboscal-java" on the mentioned line
with proper Markdown formatting: either wrap it in angle brackets
<https://github.com/metaschema-framework/liboscal-java> or convert to a labeled
link like
[metaschema-framework/liboscal-java](https://github.com/metaschema-framework/liboscal-java);
update the single line accordingly.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d3462f1 and f6bf13f.

📒 Files selected for processing (2)
  • .claude/CLAUDE.md
  • .claude/settings.json
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
📚 Learning: 2026-01-05T18:03:33.537Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).

Applied to files:

  • .claude/CLAUDE.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/*.java : All code changes must follow the Javadoc style guide (docs/javadoc-style-guide.md). New code requires 100% Javadoc coverage on public/protected members. Modified code must add/update Javadoc on any members touched. All Javadoc must include param, return, throws tags in the correct order (BLOCKING)

Applied to files:

  • .claude/CLAUDE.md
🪛 markdownlint-cli2 (0.18.1)
.claude/CLAUDE.md

76-76: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code
🔇 Additional comments (2)
.claude/settings.json (1)

1-24: Valid JSON configuration with appropriate marketplace and plugin setup.

The configuration correctly references two external plugin marketplaces and enables relevant metaschema and superpowers plugins. The JSON structure is well-formed and properly references both the metaschema-framework marketplace (for OSCAL-related plugins) and superpowers marketplace.

.claude/CLAUDE.md (1)

36-137: Excellent comprehensive documentation aligned with project structure.

The documentation provides clear guidance across build commands, architecture, code style, workflow, and testing. The package conventions documented (lines 52, 72: dev.metaschema.oscal.*) align with the canonical package structure for this project. The architecture section properly documents both generated model classes and OSCAL-specific Metapath functions. The mandatory git worktrees workflow (lines 81-125) is well-explained with clear red flags to prevent misuse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant